The baserom uses a framework of custom objects to allow you to toggle or activate some simple UberASM codes that are in the baserom, most of which are very basic utility features. They are activated simply by inserting a custom extension object into whichever levels you want with no limit. These objects work alongside any level UberASM you may want to use as well.
The following objects can be used to enable or toggle features or settings in the baserom. Each object has an ID number that corresponds to its Extension value to be used when inserting it as a Custom Object.
ID | Object | Description |
---|---|---|
98 | Free Vertical Scroll | Makes the camera follow Mario up and down. |
99 | Lock Horizontal Scroll | Prevents the camera from scrolling left or right. |
9A | Start in OFF State | Starts the level with the ON/OFF state in the OFF state on level load. |
9B | Enable Block Duplication | Disable the effects of a patch that prevents block duplication. |
9C | Hide Statusbar | Hide the statusbar. This does not disable the item box. |
9D | Enable Screen Scroll | Disable the effects of a patch that prevents scrolling the screen with L or R. |
9E | Enable SFX Echo | Enable the echo for sound effects. Requires your level to have custom music with echo enabled. |
A0 | No Power-up Collection | Prevent Mario from collecting any power-ups (including to the item box). |
A2 | Disable Cape Turnaround Consistency | Disable the effects of the patch that makes turning around with cape consistent on button press. |
A3 | Enable 8-frame Cape Float | Apply a consistent 8 frame counter after the input is registered to adjust Mario's falling speed with cape. |
A4 | Remove Cape Float Delay | Set the delay before Mario starts floating with cape to zero frames. |
A5 | Death on Power-up Loss | Losing a power up will kill Mario instantly. (Makes all hurt blocks death blocks.). |
A7 | Press L & R To Die | Kills the player if L and R are pressed. Useful for a quick reset. |
A9 | Disable Spin Jump Fireballs | Prevent Mario from shooting fireballs while spin jumping. |
AA | Restore Springboard Behaviour | Disable the effects of a patch that prevents re-grabbing kicked springboards and them zeroing your speed when grabbed. (Enabling spring midairs). |
AB | Disable Cape Flight | Prevents Mario from ever entering flight with cape. |
AC | Disable Screen Shake | Stops all vanilla sources of Layer 1 screen shake. |
Inserting these objects into your level to override the default settings of the retry system or even change the retry settings between sublevels.
ID | Object | Description |
---|---|---|
B0 | Instant Retry | Make the retry skip using prompt and restart instantly after dying. |
B1 | Prompt Retry | Set the retry system to use a prompt that says "Retry" in the middle of the screen. |
B2 | Bottom Left Retry Prompt | Move the retry prompt to the bottom left (by default it's in the middle) if Prompt retry is active. |
B3 | No Power Ups from Midways | Disable gaining a power-up (mushroom) from a midway point. |
B4 | Vanilla Retry | Set the retry system back to using Vanilla death routine. |
To insert a custom object, open the "Add Object Manual (hex)" window either from the "Edit → Insert manual..." menu action, or by pressing the Insert key while in Lunar Magic's "Layer 1 editing" mode. This will bring up the following dialog window.
Next, type the ID value for the UberASM Object from the tables above into the "Size/Type/Ext" field of this dialog, and press "OK" to insert.
Multiple custom UberASM objects can be inserted and active in one level.
When inserted, custom objects will look like a pair of garbage tiles in Lunar Magic since they load a "null" object, but these objects won't actually appear in game.
The tiles they are made up of may occasionally use an exit-enabled (door) tile which may display a warning depending on your Lunar Magic settings.